package org.infodavid.common.model.components;

import java.net.URI;

import org.infodavid.common.persistence.IBasicDataObject;

/**
 * The Interface IURI.
 */
public interface IUri extends IBasicDataObject {
  /**
   * The Enum EUriType.
   */
  enum EUriType {
    /** The PERSONAL. */
    PERSONAL,
    /** The OFFICE. */
    OFFICE,
    /** The UNDEFINED. */
    UNDEFINED
  }

  /** The TYPE. */
  String TYPE = "type";

  /** The VALUE. */
  String VALUE = "value";

  /** The URI. */
  String URI = "uri";

  /**
   * Gets the value.
   * @return the value
   */
  URI getValue();

  /**
   * Sets the value.
   * @param value the value
   */
  void setValue(URI value);

  /**
   * Gets the type.
   * @return the type
   */
  EUriType getType();

  /**
   * Sets the type.
   * @param value the value
   */
  void setType(EUriType value);
}
